package com.ymttest.common.enums;

/**
 * 码头平台
 */
public enum PlatformEnum {
	/**
	 * 未知(0)
	 */
	Unknown(0),
	/**
	 * 洋码头PC端(1)
	 */
	Ymt_PC(1),
	/**
	 * 洋码头WAP(2)
	 */
	Ymt_WAP(2),
	/**
	 * 洋码头APP(3)
	 */
	Ymt_APP(3),
	/**
	 * 神器APP(4)
	 */
	Shangou_APP(4),
	/**
	 * 神器WAP(5)
	 */
	Shangou_WAP(5),
	/**
	 * 神器PC端(6)
	 */
	Shangou_PC(6),
	/**
	 * C商品通过C2C分享到Wechat成交(7)
	 */
	Shangou_Wechat(7),
	/**
	 *  M商品在C2C-APP成交(8)
	 */
	Ymt_C2CAPP(8),
	/**
	 * M商品在C2C-WAP成交(9)
	 */
	Ymt_C2CWAP(9),
	/**
	 * M商品在C2C分享到Wechat成交(10)
	 */
	Ymt_C2CWechat(10),
	/**
	 * M商品在其它产品分享到Wechat成交(11)
	 */
	Ymt_Wechat(11),
	/**
	 * 在PC使用下单器生成订单(12)
	 */
	Purchasing_PC(12),
	/**
	 *  M商品在其它渠道成交(13)
	 */
	Ymt_Other(13),
	/**
	 * C商品在其它渠道成交(14)
	 */
	Shangou_Other(14);

	private int intValue;
	private static java.util.HashMap<Integer, PlatformEnum> mappings;

	private synchronized static java.util.HashMap<Integer, PlatformEnum> getMappings() {
		if (mappings == null) {
			mappings = new java.util.HashMap<Integer, PlatformEnum>();
		}
		return mappings;
	}

	private PlatformEnum(int value) {
		intValue = value;
		PlatformEnum.getMappings().put(value, this);
	}

	public int getValue() {
		return intValue;
	}

	public static PlatformEnum forValue(int value) {
		return getMappings().get(value);
	}

	public static PlatformEnum getPlatformEnumInfo(String orderSource) {
		String source = orderSource == null ? "" : orderSource.toUpperCase();

		switch (source) {
			case "APP" :
				return PlatformEnum.Ymt_APP;
			case "PC" :
				return PlatformEnum.Ymt_PC;
			case "WAP" :
				return PlatformEnum.Ymt_WAP;
			case "C2CAPP" :
				return PlatformEnum.Ymt_C2CAPP;
			case "C2CWAP" :
				return PlatformEnum.Ymt_C2CWAP;
			case "C2CWechat" :
				return PlatformEnum.Ymt_C2CWechat;
			case "Wechat" :
				return PlatformEnum.Ymt_Wechat;
			default :
				return PlatformEnum.Ymt_Other;
		}
	}
}